
package com.szpx.controller.HZJController;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

import com.github.pagehelper.PageInfo;
import com.szpx.entity.HZJ.jiaxiao;
import com.szpx.service.jiaxiaoService;
import java.util.List;

/**
 * 订单数据控制器
 */
@Controller
@RequestMapping("/hzj")
public class jiaxiaoController {

    @Autowired
    private jiaxiaoService jiaxiaoService;

    @RequestMapping("/jiaxiaoList")
    public String orderList(HttpSession session, Model model) {
        // TODO: 后续添加订单数据服务注入和数据查询逻辑
        List<jiaxiao> orderList = jiaxiaoService.selectAlljiaxiao();
        model.addAttribute("ol",orderList);

        return "HZJ/jiaxiao.html";
    }


    /**
     * 多条件分页模糊查询
     * @param jiaxiao 查询条件对象
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return 分页后的驾校列表
     */
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    @ResponseBody
    public PageInfo<jiaxiao> getListByCon(
            @RequestParam(required = false) jiaxiao jiaxiao,
            @RequestParam(defaultValue = "1") int pageNum,
            @RequestParam(defaultValue = "10") int pageSize) {
        return jiaxiaoService.getListByConPage(jiaxiao, pageNum, pageSize);
    }

    /**
     * 保存驾校信息
     * @param jiaxiao 要保存的驾校对象
     * @return 保存成功的记录数
     */
    @RequestMapping(value = "/save", method = RequestMethod.POST)
    @ResponseBody
    public int saveJiaxiao(@RequestBody jiaxiao jiaxiao) {
        if (jiaxiao.getId() != null) {
            int updateFlag = jiaxiaoService.updateJiaxiaoById(jiaxiao);
            return updateFlag;
        } else {
            return jiaxiaoService.saveJiaxiao(jiaxiao);
        }
    }

    /**
     * 根据ID修改驾校信息
     * @param jiaxiao 要修改的驾校对象，需包含ID
     * @return 修改成功的记录数
     */
    @PutMapping("/update")
    public int updateJiaxiaoById(@RequestBody jiaxiao jiaxiao) {
        return jiaxiaoService.updateJiaxiaoById(jiaxiao);
    }

    /**
     * 根据ID删除驾校信息
     * @param id 要删除的驾校ID
     * @return 删除成功的记录数
     */
    @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
    public int deleteJiaxiaoById(@PathVariable Long id) {
        return jiaxiaoService.deleteJiaxiaoById(id);
    }

    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    @ResponseBody
    public jiaxiao getJiaxiaoById(@PathVariable Long id) {
        return jiaxiaoService.getJiaxiaoById(id);
    }

    /**
     * 请使用layui框架帮我写一个展示列表的前端html页面，为需要展示的信息为id,x,y,z。
     * 我的layui框架依赖文件已经导入，
     * 路径为：/workspace/src/main/resources/static/layui 。 
     * 在html文件引用时请使用相对路径。 若修改请遵循为的决定。
     * 
     * 我们的html文件的路径修正为:/workspace/src/main/resources/templates/orderList
     * 我已经有了orderListIndex.html，后续保持使用这个前端页面即可。
     * 
     * 我现在需要写一个OrderController.jave文件去访问为的这个页面，就是上面创建的页面，
     * 请参照：/workspace/src/main/java/com/szpx/controller/LishihuiController
     * 下的HuihuiController.java。
     * 
     * 
     */

}